﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetFrameworkExtensions
{
  public interface IFactory
  {
    object Create(IDictionary<string, object> parameters);
  }

  public abstract class Factory<T> : IFactory
  {
    public abstract T Create(IDictionary<string, object> parameters);

    object IFactory.Create(IDictionary<string, object> parameters)
    {
      return Create(parameters);
    }
  }

}
